1. Field of the Invention
This invention relates to computer software, and more specifically to user interface components of a computer system displaying hierarchical information.
2. Background Art
Computer operating systems store information in files on a storage medium that is accessible via a file system. A file system organizes the contents of a storage device such that a user can determine the contents of the storage device. To organize files, a file hierarchy is adopted by some operating systems' file systems. Existing operating systems are inefficient in the manner in which the file hierarchy is displayed for review. For example, existing operating systems continue to display information that is no longer relevant to the user.
Microsoft DOS, Windows and the Macintosh OS are examples of operating systems whose file systems organize files in a hierarchy into directories. The file hierarchy begins with a root directory. Directories can contain files or other directories.
The hierarchical approach in a file system allows a user to categorize or group files. FIG. 1 provides an example of a hierarchical file structure 102 that groups files into directories. Root 104 includes documents directory 106, applications directory 107, system directory 108 and root-level files 105. Applications directory 107 and system directory 108 contain application directories and files 109 and system directories and files 110, respectively. Documents directory 106 is a child directory (or subdirectory) of root directory 104 and includes word processing directory 111, spreadsheet directory 112 and graphics directory 113. Word processing directory 111, spreadsheet directory 112 and graphics directory 113 that contain word processing documents 114, spreadsheet documents 115 and graphics documents 116 (respectively).
A user can direct the operating system to traverse through hierarchical file structure 102 to locate a file or directory in the file system. The route to directories or files in hierarchical file structure 102 is referred to as a path. For example, a path exists between root directory 104 and graphics documents 116 through documents directory 106 and graphics directory 113.
An operating system provides a mechanism for displaying the file hierarchy. One example of such a display mechanism is the Windows tree display illustrated in FIG. 2.
Display 202 includes a folder display section 204 and a contents display section 206. Folder display section 204 depicts the hierarchical structure that includes a storage medium, desktop icon 208, entry 212 designated by the drive icon and the letter "C:". Entry 212 represents the root directory for the storage medium. There are multiple child directories of the root directory (e.g., entries 214, 220 and 222) each of which can be the parent of one or more hierarchical elements (e.g., a directory). For example, entry 214 is a directory that contains other directories represented in entries 224. The hierarchical structure contained within a parent entry can be displayed by "opening" the parent entry. Entries 224 are displayed when entry 214 is opened, for example. An entry that contains subentries (e.g., a subdirectory) includes a box icon that either contains a "-" if the parent entry is open or a "+" character if the parent entry is closed.
Contents display section 206 displays the contents of the selected entry in folder display section 204. When the user selects an entry in folder display section 204, the entry is opened and the contents of the entry are displayed in contents display area 206. For example, when entry 218 (i.e., the "Resource" directory) is opened, the contents of the directory (i.e., contents 228) are displayed in contents display area 206.
The Windows tree wastes display area by displaying expanded details that the user no longer needs or is interested in. For example, to select entry 218, the user opens entries 210, 212, 214, and 216 which represent the directories along the path between the root directory and entry 218. When they are opened, their contents are displayed in folder display area 204 including those other entries that are no longer or were never relevant to the user. There is no need to use space in folder display section 204 to display these entries.
As more branches of the Windows tree are opened (or expanded), the tree expands. To manage the size of the tree, the user must periodically go through the tree and re-select an expanded entry to close the entry. An entry is selected by selecting one of the icons associated with the entry. For example, to close entry 216, the user must select either the folder icon or the icon containing a "-" symbol. These icons are small and difficult to select.
Space is also wasted in contents display area 206. As can be seen in FIG. 2, contents display area 206 must be the same size as the folders display area 204. There is no mechanism for vertically sizing folders display area 204 independent of contents display area 206. It is not uncommon for the information displayed in contents display area 206 (e.g., contents 224) to use less space than the information displayed in folder display area 204. Thus, it is not uncommon for there to be wasted vertical space in contents display area 206.
Another example of a hierarchical display mechanism used in the NeXTStep's windowing environment is referred to herein as a multicolumn browser. FIG. 3 provides an example of a multicolumn browser used in the NeXTStep windowing environment.
File viewer 302 includes browser 310 that includes columns 304-307. to display levels in the file system hierarchy. The user selects a column entry that represents an element (e.g., a directory or folder) in the file system hierarchy. If the element is a directory, the contents of the selected folder or directory is displayed in the next column. For the sake of the example, the same file system hierarchy used in FIG. 2 is used here. To illustrate, column 304 represents the hierarchical level below entry 214 of FIG. 2 (i.e., entries 224 and 216).
When entry 314 is selected, its contents are displayed in column 305. That is, column 305 displays the hierarchical level below entry 216 of FIG. 2. When the user selects entry 316 (that corresponds to entry 216 of FIG. 2), its contents are displayed in column 306. The "Resource" directory contains only files (i.e., there are no directories within the Resource directory). Thus, column 307 does not contain any entries.
Like the Windows tree structure, the multicolumn browser uses display space inefficiently. Levels of the file system hierarchy are displayed even after the user has navigated through them. For example, columns 304-305 are displayed even though the user has navigated through these levels to reach the entries in column 306. Further, the columns are all one size regardless of the display area actually needed to display a level's contents.
File viewer 302 includes icon path display area 318 that displays an icon that represents the directory shown in the column displayed under the icon. For example, icon 320 represents the "Pipeplus" directory whose contents are displayed in column 304. Similarly, icons 322 and 324 represent the "Pmail" and "Resource" directories shown in columns 304 and 305, respectively. Icon 326 represents the selection "rquotes.r" of column 306.
When a file is selected in browser 310, file viewer 302 displays an icon (e.g., icon 326) in icon path display area 318 above a blank column (e.g., column 307). While this technique can be used to identify that entry 318 is a file, it also wastes the space used to display column 307.
File viewer 302 consumes a large portion of the total display area available on a computer system's display. An alternative to the multicolumn display shown in file viewer 302 is referred to as an open panel and is limited to two columns and eliminates icon path display area 318. The open panel limits the display of the hierarchical information to only the current level and its immediate predecessor. Without icon path display area 318, there is no convenient mechanism for displaying the user's prior navigational selections, or path.
Thus, both the Windows tree structure and the NeXTStep browser use display area space inefficiently by, for example, displaying irrelevant information. Both techniques also waste space by requiring that display sections (e.g., the vertical display space containing folder display section 204 and contents display section 206 of FIG. 2 and columns 304-307 of FIG. 3) be the same size. Further, the last column of file viewer 302 is wasted when the previous column contains only files.